package objetos;

import interfaces.Atividade;

public class AtividadeTerminodeEmprestimo implements Atividade{
	private String nomedoUsuario, nomeDoItem, template, idAtividade;
	
	public AtividadeTerminodeEmprestimo(String nomeDoUsuario, String nomeDoItem) throws Exception{
		setNomeDoUsuario(nomeDoUsuario);
		setNomeDoItem(nomeDoItem);
		setTemplate(criarTemplateDaAtividade());
	}
	
	@Override
	public String criarTemplateDaAtividade() {
		return getNomedoUsuario() +" confirmou o término do empréstimo do item " + getNomeDoItem();
	}

	@Override
	public String getTemplate() {
		return template;
	}
	
	public void setTemplate(String template) throws Exception{
		if(template== null || template.trim().isEmpty())
			throw new Exception("Template nao pode ser null ou vazio");
		this.template = template;
	}

	public String getNomedoUsuario() {
		return nomedoUsuario;
	}

	public void setNomeDoUsuario(String nomeDoUsuario) throws Exception {
		if(nomeDoUsuario== null || nomeDoUsuario.trim().isEmpty())
			throw new Exception("Nome do usuario nao pode ser null ou vazio");
		this.nomedoUsuario = nomeDoUsuario;
	}

	public String getNomeDoItem() {
		return nomeDoItem;
	}

	public void setNomeDoItem(String nomeDoItem) throws Exception {
		if(nomeDoItem== null || nomeDoItem.trim().isEmpty())
			throw new Exception("Nome do item nao pode ser null ou vazio");
		this.nomeDoItem = nomeDoItem;
	}

	@Override
	public String getIdAtividade() {
		return idAtividade;
	}

	@Override
	public void setIdAtividade(String id) {
		this.idAtividade = id;
	}

	@Override
	public boolean equals(Object obj) {
		if(!(obj instanceof AtividadeTerminodeEmprestimo)){
			return false;
		}
		AtividadeTerminodeEmprestimo outra = (AtividadeTerminodeEmprestimo) obj;
		return this.getNomeDoItem().equals(outra.getNomeDoItem()) &&
			   this.getNomedoUsuario().equals(outra.getNomedoUsuario());
	}
}
